'\"macro stdmacro
.\"
.\" Copyright (c) 2010 Ken McDonell.  All Rights Reserved.
.\" Copyright (c) 2018 Red Hat.
.\"
.\" This program is free software; you can redistribute it and/or modify it
.\" under the terms of the GNU General Public License as published by the
.\" Free Software Foundation; either version 2 of the License, or (at your
.\" option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful, but
.\" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
.\" or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
.\" for more details.
.\"
.\"
.TH PMIPUTVALUE 3 "" "Performance Co-Pilot"
.SH NAME
\f3pmiPutValue\f1 \- add a value for a metric-instance pair
.SH "C SYNOPSIS"
.ft 3
.ad l
.hy 0
#include <pcp/pmapi.h>
.br
#include <pcp/import.h>
.sp
int pmiPutValue(const char *\fIname\fP,
'in +\w'int pmiPutValue('u
const\ char\ *\fIinstance\fP,
const\ char\ *\fIvalue\fP);
.in
.sp
cc ... \-lpcp_import \-lpcp
.hy
.ad
.ft 1
.SH "Perl SYNOPSIS"
.ft 3
.ad l
.hy 0
use PCP::LogImport;
.sp
pmiPutValue($\fIname\fP, $\fIinstance\fP, $\fIvalue\fP);
.hy
.ad
.ft 1
.SH DESCRIPTION
As part of the Performance Co-Pilot Log Import API (see
.BR LOGIMPORT (3)),
.B pmiPutValue
adds a single value to the current output record for a given
metric and instance.
.PP
The metric's
.I name
should match one defined earlier in a call to
.BR pmiAddMetric (3).
.PP
For singular metrics (those defined with an instance domain of
.BR PM_INDOM_NULL ),
the
.I instance
should be NULL or an empty string, otherwise
.I instance
should match the name of an instance defined earlier in a call
to
.BR pmiAddInstance (3)
for the metric's instance domain.
.PP
The
.I value
should be in a format consistent with the metric's type as
defined in the call to
.BR pmiAddMetric (3).
.PP
No data will be written until
.BR pmiWrite (3)
is called, so multiple calls to
.B pmiPutValue
or
.BR pmiPutValueHandle (3)
are typically used to accumulate data values for several
metric-instance pairs before calling
.BR pmiWrite (3).
.SH DIAGNOSTICS
.B pmiPutValue
returns zero on success else a negative value that can be turned into an
error message by calling
.BR pmiErrStr (3).
.SH SEE ALSO
.BR LOGIMPORT (3),
.BR pmiAddInstance (3),
.BR pmiAddMetric (3),
.BR pmiErrStr (3),
.BR pmiPutResult (3),
.BR pmiPutValueHandle (3),
.BR pmiPutText (3),
.BR pmiPutLabel (3)
and
.BR pmiWrite (3).
